$(function() {
	//affichage du calendrier quand clic sur la date
	$( "#datepicker" ).datepicker();
});

function request(oSelect) {
	//récupération des unités de mesure des tests comportementaux
	var value = oSelect.options[oSelect.selectedIndex].value;
	var elt = document.getElementsByClassName("autre");
	
	if(value!="autre"){
		for (var i=0; i<elt.length; i++){
			elt[i].style.display="none";
		}
		document.getElementById("infos").style.display="block";
		
		var var1 = encodeURIComponent(value);
		var xhr = getXMLHttpRequest();

		xhr.onreadystatechange = function() {
			if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
				readData(xhr.responseXML,value);
			} 
		};
		xhr.open("POST", "get_champs.php", true);
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xhr.send("description=" + var1);
	}
	
	else{ //si aucun champs sélectionné, on masque les suivants
		for (var i=0; i<elt.length; i++){
			elt[i].style.display="inline-block";
		}
		document.getElementById("infos").style.display="none";
		document.getElementById("infos2").style.display="block";
	}
}

function readData(oData,oSelect) {
	//création des champs à remplir par l'utilisateur en fonction du test sélectionné
	document.getElementById("infos2").style.display="block";
	var nodes = oData.getElementsByTagName("item");
	var oPara = document.getElementById("infos");
	var titre, oText3, obouton, oSpace;
	var oOption2, oInner2, oText2, oSpace2;

	oPara.innerHTML = "";

	for (var i=0, c=nodes.length; i<c; i++) {
		var name = nodes[i].getAttribute("name");
		oSpace= document.createElement("br");
		oSpace2= document.createElement("br");
		
		titre= document.createElement("h3");
		oText3 = document.createTextNode(name);
		titre.appendChild(oText3);
		oPara.appendChild(titre);
		
		//si le test est questionnaire, cas particulier, création de radio boutons
		if(oSelect=="Questionnaire" && (name=="Sest échappé" || name=="Vocalisations" || name=="A mordu" 
		|| name=="Bouche ouverte" || name=="A uriné" || name=="A déféqué")){
			var oRadio1 = document.createElement("input");
			oRadio1.type="radio";
			oRadio1.class="label";
			oRadio1.name=name;
			oRadio1.value="True";
			var oRadio2 = document.createElement("input");
			oRadio2.type="radio";
			oRadio2.class="label";
			oRadio2.name=name;
			oRadio2.value="False";
			
			oPara.appendChild(oRadio1);
			var temp1 = document.createElement("label");
			var text1 = document.createTextNode("Oui");
			temp1.appendChild(text1);
			oPara.appendChild(temp1);
			oPara.appendChild(oRadio2);
			var temp2 = document.createElement("label");
			var text2 = document.createTextNode("Non");
			temp2.appendChild(text2);
			
			var span1 = document.createElement("span");
			span1.className="code3";
			span1.id="erreur_"+name;
			var texts = document.createTextNode("* Cocher une case");
			span1.appendChild(texts);
			oPara.appendChild(temp2);
			oPara.appendChild(span1);
		}
		else{ //si le test n'est pas le questionnaire
			//un élément span par unité de mesure, il contient le champ valeur et le champ description
			var oText = document.createTextNode("Valeur: ");
			var oOption = document.createElement("label");
			oOption.className = "label6";
			oOption.appendChild(oText);
			
			var oInner = document.createElement("input");
			oInner.className = "box";
			oInner.name=nodes[i].getAttribute("name");
			oInner.type="text";
			
			var span2 = document.createElement("span");
			span2.className="code3";
			span2.id="erreur_"+oInner.name;
			var texts = document.createTextNode("* Remplir le champ");
			span2.appendChild(texts);
			
			oPara.appendChild(oOption);
			oPara.appendChild(oInner);
			oPara.appendChild(span2);
		}
		oOption2 = document.createElement("label");
		oText2 = document.createTextNode("Description: ");
		oOption2.className = "label6";
		oOption2.appendChild(oText2);
		oInner2 = document.createElement("textarea");
		oInner2.className = "box";
		oInner2.name=nodes[i].getAttribute("name")+"_desc";
		oInner2.type="text";
		
		oPara.appendChild(oSpace2);
		oPara.appendChild(oOption2);
		oPara.appendChild(oInner2);
		oPara.appendChild(oSpace);
		
	}
	obouton = document.createElement("input");
	obouton.value = "Valider le test";
	obouton.type = "submit";
	obouton.className = "bouton";
	oPara.appendChild(obouton);
}

function verif_form(f){ //vérification du formulaire avant l'envoie au serveur
	var dateOk = verifDate(f.date);
	var expOk = verifSelect(f.exp);
	var typeOk = true;

	if(f.tests.value=="autre"){
		var nomOk = verifSelect(f.tests);
		var uniteOk = verif(f.unite);
		var mesureOk = verif(f.mesure);
		if(uniteOk && mesureOk){typeOk=true;}
		else{typeOk=false;}
	}
	else{
//		var para = document.getElementById("infos");
//		var enfantsI = para.getElementsByTagName('input');
//		var cpt=0;
//		var enfants= new Array();
//		
//		for (var i=0; i<enfantsI.length;i++){
//			if(enfantsI[i].type=="text"){
//				enfants.push(enfantsI[i]);
//			}
//		}
//		for (var i=0; i<enfants.length;i++){
//			var enfantOk = verif(enfants[i]);
//			if(!(enfantOk)){cpt++;}
//		}
//		if(cpt==0){typeOk=true;}
//		else{typeOk=false;}
	}

	if(dateOk && expOk && typeOk){
		return true;
	}
	else{
		alert("Veuillez remplir correctement tous les champs");
		return false;
	}
}
